        // 要求过滤出当前的类型，并且去重  得到【行为检测，安全检测，穿戴检测】
        // 通过kyTimeStamp给objNum排序，得到该条类型的总个数 得到每个类型的objNum集合【21，21】
        // 最后应该得到 类型的数组，排序后的objNum
        let arr = [
            {
                id: 232, // id没用用不需要
                eventID: "行为检测", // 类型
                kyTimeStamp: "1680597474867", // 时间戳
                objNum: 21, // 个数
            },
            {
                id: 12,
                eventID: "穿戴检测",
                kyTimeStamp: "1680597480383",
                objNum: 21,
            },
            {
                id: 1213,
                eventID: "安全检测",
                kyTimeStamp: "1680597526733",
                objNum: 213,
            },
            {
                id: 1312,
                eventID: "穿戴检测",
                kyTimeStamp: "1680597532633",
                objNum: 213,
            },
            {
                id: 231332,
                eventID: "行为检测",
                kyTimeStamp: "1680597545723",
                objNum: 21,
            },
            {
                id: 13132,
                eventID: "安全检测",
                kyTimeStamp: "1680597549771",
                objNum: 12,
            },
            {
                id: 121331,
                eventID: "穿戴检测",
                kyTimeStamp: "1675246100925",
                objNum: 12,
            }
        ]

        // 要求过滤出当前的类型，并且去重  得到【行为检测，安全检测，穿戴检测】
        // 通过kyTimeStamp给objNum排序，得到该条类型的总个数 得到每个类型的objNum集合【21，21】
        // 最后应该得到 类型的数组，排序后的objNum
        function parseObj(arr) {
            let typeObj = {}
            for (const i of arr) {
                if(!typeObj[i.objNum]){
                    typeObj[i.objNum] = []
                }
                typeObj[i.objNum].push(i)
            }
            return typeObj
        }

        function wquickSort(arr) {
            if(arr == null || arr.length == 0) return []
        
            // 选leader
            var leader = arr[0];
            var left = [];
            var right = [];
        
            for(var i = 1; i < arr.length; i++){
                if(+arr[i].kyTimeStamp < +leader.kyTimeStamp) left.push(arr[i])
                else right.push(arr[i])
            }
        
            left = wquickSort(left);
            right = wquickSort(right);
        
            return [...left,leader,...right]
        }

        function getResult(arr) {
            let a = parseObj(arr)
            // console.log(a);
            let result = []
            for (const key in a) {
                result.push(wquickSort(a[key]))
            }
            return result
        }

       const b =  getResult(arr)
       console.log(b);

       class ParseData {
        constructor(arr){
            this.arr = arr
        }

        static _parseObj(arr) {
            let typeObj = {}
            for (const i of arr) {
                if(!typeObj[i.objNum]){
                    typeObj[i.objNum] = []
                }
                typeObj[i.objNum].push(i)
            }
            return typeObj
        }

        static _wquickSort(arr) {
            if(arr == null || arr.length == 0) return []
        
            // 选leader
            var leader = arr[0];
            var left = [];
            var right = [];
        
            for(var i = 1; i < arr.length; i++){
                if(+arr[i].kyTimeStamp < +leader.kyTimeStamp) left.push(arr[i])
                else right.push(arr[i])
            }
        
            left = wquickSort(left);
            right = wquickSort(right);
        
            return [...left,leader,...right]
        }

        static _getResult(arr) {
            let a = ParseData._parseObj(arr)
            // console.log(a);
            let result = []
            for (const key in a) {
                result.push(ParseData._wquickSort(a[key]))
            }
            return result
        }
       }

       const a = ParseData._getResult(arr)
       console.log(a);

        